﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;

namespace planetExpressLib
{
    public class planetaEN
    {
        private int idPlaneta;
        private string nombre;
        private string sistema;
        private string descripcion;
        private float distancia;
        private float masa;
        private float radio;
        private float periodo;
        private int anyo;               // anyo de descubrimiento del planeta
        private string url;

        // --- CONSTRUCTORES --- //

        //Defecto
        public planetaEN() 
        {
            idPlaneta=-1;
            nombre="";
            descripcion="";
            distancia=0;
            masa=0;
            radio=0;
            periodo=0;
            anyo=0;
            url = "";
        }

        //Copia
        public planetaEN(ref planetaEN p)
        {
            //idPlaneta = p.idPlaneta;
            nombre = p.nombre;
            descripcion = p.descripcion;
            distancia = p.distancia;
            masa = p.masa;
            radio = p.radio;
            periodo = p.periodo;
            anyo = p.anyo;
            url = p.url;
        }


        //LLamada a CAD paar recuperar datos
        public void rellenarPlaneta(string nombre)
        {
            planetaCAD plan_cad = new planetaCAD();

            plan_cad.readPlanetaNomCAD(nombre, this);
        }


        public void insertarPlaneta()
        {
            //todo: insertar PlanetaEN creando una PlanetaCAD
        }

        public void borrarPlaneta()
        {
            //todo: borrar PlanetaEN creando una PlanetaCAD
        }

        public int IdPlaneta
        {
            get { return idPlaneta; }
            set { idPlaneta = value; }
        }

        public string Nombre
        {
            get { return nombre; }
            set { nombre = value; }
        }

        public string Descripcion
        {
            get { return descripcion; }
            set { descripcion = value; }
        }

        public float Distancia
        {
            get { return distancia; }
            set { distancia = value; }
        }

        public float Masa
        {
            get { return masa; }
            set { masa = value; }
        }

        public float Radio
        {
            get { return radio; }
            set { radio = value; }
        }

        public float Periodo
        {
            get { return periodo; }
            set { periodo = value; }
        }

        public int Anyo 
        {
            get { return anyo; }
            set { anyo = value; }
        }

        public string Url
        {
            get { return url; }
            set { url = value; }
        }

        public string Sistema
        {
            get { return sistema; }
            set { sistema = value; }
        }


        // -- CAD'S -- //


        private planetaCAD cad = new planetaCAD();

        public planetaEN insertPlaneta()
        {
            return cad.insertPlanetaCAD(this);
        }

        public void readPlaneta()
        {
            cad.readPlanetaCAD(this.idPlaneta);
        }

        public void deletePlaneta()
        {
            cad.delete(this.idPlaneta);
        }

        public void updatePlaneta()
        {
            cad.update(this.idPlaneta);
        }

        public DataTable gridviewPlaListaEN(string nom_sist) { 
        
            planetaCAD dataPla = new planetaCAD();

            return dataPla.gridviewPlaListaCAD(nom_sist);
        }

        public DataTable gridviewPlaCadenaEN(string nom_planeta)
        {

            planetaCAD dataPla = new planetaCAD();

            return dataPla.gridviewPlaCadenaCAD(nom_planeta);
        }
    }
    
}
